package com.service;

import com.entity.feature.Feature;

import java.util.List;

public interface FeatureService {
	/**
	 * 获取特性列表
	 *
	 * @return 特性列表
	 */
	List<Feature> getFeatureList();
	
	/**
	 * 获取特性
	 *
	 * @param featureId 特性id
	 * @return 特性
	 */
	Feature getFeature(int featureId);
	
	/**
	 * 添加特性
	 *
	 * @param feature 特性
	 * @return 特性id
	 */
	int addFeature(Feature feature);
	
	/**
	 * 更新特性
	 *
	 * @param feature 特性
	 */
	void updateFeature(Feature feature);
	
	/**
	 * 删除特性
	 *
	 * @param featureId 特性id
	 */
	void deleteFeature(int featureId);
	
	/**
	 * 获取特性等级列表
	 *
	 * @return 特性等级列表
	 */
	List<String> getLevelList();
	
	/**
	 * 获取特性等级
	 *
	 * @param levelId 特性等级id
	 * @return 特性等级
	 */
	String getLevel(int levelId);
	
	/**
	 * 添加特性等级
	 *
	 * @param level 特性等级
	 * @return 特性等级id
	 */
	int addLevel(String level);
	
	/**
	 * 更新特性等级
	 *
	 * @param level 特性等级
	 */
	void updateLevel(String level);
	
	/**
	 * 删除特性等级
	 *
	 * @param levelId 特性等级id
	 */
	void deleteLevel(int levelId);
	
	/**
	 * 获取特性等级id
	 *
	 * @param level 特性等级
	 * @return 特性等级id
	 */
	int getLevelId(String level);
	
	/**
	 * 获取特性id
	 *
	 * @param name 特性名称
	 * @return 特性id
	 */
	int getFeatureId(String name);
	
	/**
	 * 获取特性名称
	 *
	 * @param featureId 特性id
	 * @return 特性名称
	 */
	String getFeatureName(int featureId);
	
	/**
	 * 获取特性描述
	 *
	 * @param featureId 特性id
	 * @return 特性描述
	 */
	String getFeatureDescription(int featureId);
	
	/**
	 * 获取特性等级
	 *
	 * @param featureId 特性id
	 * @return 特性等级
	 */
	String getFeatureLevel(int featureId);
	
	/**
	 * 获取特性影响版本
	 *
	 * @param featureId 特性id
	 * @return 特性影响版本
	 */
	String getFeatureAffectedVersions(int featureId);
	
	/**
	 * 获取特性封面
	 *
	 * @param featureId 特性id
	 * @return 特性封面
	 */
	String getFeatureCover(int featureId);
	
	/**
	 * 获取特性日期
	 *
	 * @param featureId 特性id
	 * @return 特性日期
	 */
	String getFeatureDate(int featureId);
	
	/**
	 * 获取特性状态
	 *
	 * @param featureId 特性id
	 * @return 特性状态
	 */
	String getFeatureStatus(int featureId);
}
